package listbyorder.access001_100.test26;

import java.util.HashSet;

/**
 * @author code_yc
 * @version 1.0
 * @date 2020/5/29 17:06
 */
public class Solution1 {

    // 方法一：自己想到的方法
    // 使用HashSet
    // 定义两个指针，一个指针填数据，一个指针遍历
    // 遍历move指针，如果当前集合中没有这个元素，则add++入数组，集合入数组
    // 最后move遍历到的数据末尾的时候，返回add的值即可
    // 数组最后的数全部置为0
    public int removeDuplicates(int[] nums) {
        int add = 0;
        int move = 0;
        HashSet<Integer> set = new HashSet<>();
        for (; move < nums.length; move++) {
            if (!set.contains(nums[move])) {
                set.add(nums[move]);
                nums[add++] = nums[move];
            }
        }
        int res = add;
        while (add < nums.length) {
            nums[add++] = 0;
        }
        return res;
    }
}
